1. Field of the Invention
This invention relates to a method and apparatus for improving the throughput of a CCD bar code scanner/decoder. Previous methods of scanning/decoding have employed a fixed decoding time. The invention utilizes adaptive logic to terminate the decode process and enter scanning as soon as the data is determined to be invalid.
2. Description of the Prior Art
There are several types of bar code readers, including, those which scan the bar code using a laser beam and receive the reflected light of the laser beam to determine bar code reading, and CCD units which capture bar code image through a lens system. The bar code scanning devices using the laser beam require a vibrating or rotating motor to drive a prism or laser beam in a scanning mode and are affected by bright, ambient light or sometimes directed light sources, so that no reading will be possible if sunlight falls on the bar code. On the other hand, the CCD bar code scanners rely upon the enhanced ambient light for their readings and do not require mechanical mechanisms to sweep any beam, nor do they require the use of a laser beam at all to read the bar code. The CCD scanners merely focus the bar code onto a photosensitive strip and the data is processed electronically.
In conventional bar code-type readers, a portion of the time of each scan is used for collecting the bar code data, and another part of the time is used for decoding the collected data. In the present invention, however, the decoding/collecting scan rate has been increased to greatly speed up the response of the bar code reader.
In conventional CCD readers, a signal referred to as SOS (start of scan) is used to distinguish data collection from data decoding. On one logic level of the SOS signal, the data collection occurs. During this period, data is serially shifted out of the CCD sensor. In addition, the microcontroller records the time duration between the transitions of bar code data from black to white, and vice versa. On the other SOS signal level, the microcontroller decodes (analyzes) the recorded data. In the fixed method, the microcontroller has to wait for the SOS signal to change level, no matter how quickly it determines the data's validity. This invention allows the SOS signal to change level under the microcontroller control. This saves time that would have otherwise been wasted waiting for the SOS signal to change. Furthermore, the ability to restart the SOS signal allows for an additional time savings. The fixed version of the prior art has to wait, in the worst case, one full cycle of SOS signals before data collection can begin. However, the inventive version can simply restart the SOS signal and begin collecting data.